home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC]
/
NeXTSTEP 3.3 Dev Intel.iso
/
NextDeveloper
/
Headers
/
btree
/
IXPostingSet.h
< prev
next >
Wrap
Text File
|
1993-08-15
|
2KB
|
60 lines
/*
IXPostingSet.h
Copyright 1991,NeXT Computer,Inc.
*/
#import <objc/Object.h>
#import "protocols.h"
// This class implements a dynamic array of postings, sorted by handle. Its
// primary use is for combining sets of postings - i.e., performing set union,
// intersection and subtraction.
#ifdef NX_COMPILER_RELEASE_3_0
#import <remote/transport.h>
typedef id <IXPostingExchange> IXPostingExchangeType;
@interface IXPostingSet: Object <NXTransport, IXPostingExchange, IXPostingOperations>
#else NX_COMPILER_RELEASE_3_0
typedef id IXPostingExchangeType;
@interface IXPostingSet: Object
#endif NX_COMPILER_RELEASE_3_0
{
@public
unsigned thisElement;
unsigned numElements;
unsigned maxElements;
struct IXPosting *postings;
}
// These two methods initialize the posting set with existing postings. The
// first method takes the postings from an object that conforms to the posting
// exchange protocol. The second one takes the postings from the caller.
- initWithPostingsIn:(IXPostingExchangeType)anObject;
- initCount:(unsigned)theCount andPostings:(const IXPosting *)thePostings;
// These methods perform set union, intersection and subtraction between the
// posting set and an object that conforms to the posting exchange protocol,
// leaving the result in the posting set. These are commonly used to refine or
// expand query results on a posting cursor.
- formUnionWithPostingsIn:(IXPostingExchangeType)anObject;
- formIntersectionWithPostingsIn:(IXPostingExchangeType)anObject;
- subtractPostingsIn:(IXPostingExchangeType)anObject;
// This method sets the posting set to a specific position or element. The
// numbering starts with zero. The count is returned by the count method.
- (unsigned)setPosition:(unsigned)aPosition;
- setCount:(unsigned)theCount // sets the postings without copying.
andPostings:(IXPosting *)thePostings byCopy:(BOOL)aBoolean;
// The posting set can be archived to and unarchived from a typed stream. It
// can also be passed between processes using the distributed object substrate.
- read:(NXTypedStream *)typedStream;
- write:(NXTypedStream *)typedStream;
@end